/*
*================================================================================
*	Plik: f_ld6.c
*	Created on: Jun 4, 2011
*--------------------------------------------------------------------------------
*	Autorzy: Piotr Zdunek, Mateusz Słowikowski, Krzysztof Wiąckowski
*	Projekt: Model mikrokontrolera AVR
*	Kompilator: avr-gcc-4.3.5
*	Doc: doxygen 1.4.3
*--------------------------------------------------------------------------------
*	Zawiera: Implementację funkcji LD korzystająca z rejestru Z w trybie
*	Zawiera: adresowania pośredniego z post-inkrementacją
*--------------------------------------------------------------------------------
*	Komentarze:
*================================================================================
*/

#include "types.h"
#include "mem_abs.h"

void F_LDZ2(){

#ifndef  DEBUG_MODE
	printf("Function LDZ2.");
#endif

	//Resolve variable value form opcode
	uint8_t Rd = (((getMEMC(getPC()) & 0x0FF0) & 0b00011111)) >> 4;
	//identyfikacja numeru rejestru arg. 1
	uint8_t Rd_val = GetRegisterFromDataSpace(GetZRegister());

	setRegister(Rd, Rd_val);
	incZ();
	incPC();

}
